package com.example.final_project.mapper;

import com.example.final_project.entity.Order;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

@Mapper
public interface OrderMapper {
    // 新增订单
    int insert(Order order);
    
    // 更新订单
    int update(Order order);
    
    // 删除订单
    int deleteById(Long id);
    
    // 根据ID查询订单
    Order selectById(Long id);
    
    // 查询订单列表
    List<Order> selectList(@Param("orderNo") String orderNo,
                          @Param("userId") Long userId,
                          @Param("status") String status);

    int countAllOrders();

    List<Order> selectLatestOrders(int limit);

    int countByStatus(String status);

    List<Map<String, Object>> getOrderStatusStats();

    List<Order> getLatestOrders(@Param("limit") int limit);

    List<Map<String, Object>> getOrderTrend7Days();
} 